package com.zhou.imaotai.service;

import com.alibaba.fastjson2.JSONObject;
import com.zhou.imaotai.entity.IUser;
import com.zhou.imaotai.entity.R;
import com.zhou.imaotai.utils.PageResult;

import java.util.List;

/**
 * @author lcz
 * @desc I茅台用户服务
 * @mail lcz_0130@163.com
 * @date 2024/03/21
 */

public interface IUserService {

    /**
     * 查询I茅台用户列表
     *
     * @param iUser i用户
     * @return {@link PageResult}<{@link IUser}>
     */
    PageResult<IUser> page(IUser iUser);

    /**
     * 添加i茅台用户
     *
     * @param mobile
     * @param body
     * @return
     */
    int insertIUser(Long mobile, String deviceId, JSONObject body);

    /**
     * 查询预约用户列表
     *
     * @return
     */
    List<IUser> selectReservationUser();

    /**
     * 通过预约执行分钟查询预约用户列表
     *
     * @return
     */
    List<IUser> selectReservationUserByMinute(int minute);

    /**
     * 添加i茅台用户
     *
     * @param iUser
     * @return
     */
    R insertIUser(IUser iUser);

    /**
     * 修改I茅台用户
     *
     * @param iUser I茅台用户
     * @return 结果
     */
    int updateIUser(IUser iUser);

    /**
     * 批量修改用户随机预约的时间
     *
     * @return
     */
    void updateUserMinuteBatch();

}
